package com.woniuxy.service;

import com.woniuxy.pojo.Admin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.pojo.Menu;
import com.woniuxy.pojo.RespBean;
import com.woniuxy.pojo.Role;
import org.springframework.security.core.Authentication;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author yuankaiqiang
 * @since 2022-01-28
 */
public interface IAdminService extends IService<Admin> {
  /**
   * Description : TODO 登录之后返回token <br/>
   * ChangeLog : 1. 创建 (2022/1/28 23:21 [ykq11]);
   * @param code
   * @param request
   */
    RespBean login(String username, String password, String code, HttpServletRequest request);
/**
 * Description : TODO  根据用户名获取用户<br/>
 * ChangeLog : 1. 创建 (2022/1/28 23:45 [ykq11]);
 ** @param username
 * *  @return null
*/
  Admin getAdminByUsername(String username);
  /**
   * Description : TODO 根据用户id查询角色列表  <br/>
   * ChangeLog : 1. 创建 (2022/2/1 22:33 [ykq11]);
   ** @param  adminId
   * *  @return null
  */
  List<Role> getRoles(Integer adminId);

  /**
   * Description : TODO  用户头像更新<br/>
   * ChangeLog : 1. 创建 (2022/2/22 20:32 [ykq11]);
   ** @param url
   * @param id
   * @param authentication
   * @return com.woniuxy.pojo.RespBean
   **/
    RespBean updateAdminUserFace(String url, Integer id, Authentication authentication);

    /**
     * Description : TODO  更新用户密码<br/>
     * ChangeLog : 1. 创建 (2022/2/22 23:23 [ykq11]);
     ** @param oldPass
     * @param pass
     * @param adminId
     * @return com.woniuxy.pojo.RespBean
     **/
  RespBean updateAdminPassword(String oldPass, String pass, Integer adminId);

  /**
   * Description : TODO  获取所有操作员<br/>
   * ChangeLog : 1. 创建 (2022/2/25 15:42 [ykq11]);
   ** @param keywords
   * @return java.util.List<com.woniuxy.pojo.Admin>
   **/
  List<Admin> getAdminList(String keywords);
}



